package com.redpack.redpost.struts.form;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import com.redpack.redpost.util.to.generalUtil;



public class recomiendaForm extends ActionForm {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String de_Nombre ;
	private String de_email ;
	private String para_Nombre ;
	private String para_email ;
	private String comentarios ;
	
	public String getDe_Nombre() {
		return de_Nombre;
	}
	public void setDe_Nombre(String de_Nombre) {
		this.de_Nombre = de_Nombre;
	}
	public String getDe_email() {
		return de_email;
	}
	public void setDe_email(String de_email) {
		this.de_email = de_email;
	}
	public String getPara_Nombre() {
		return para_Nombre;
	}
	public void setPara_Nombre(String para_Nombre) {
		this.para_Nombre = para_Nombre;
	}
	public String getPara_email() {
		return para_email;
	}
	public void setPara_email(String para_email) {
		this.para_email = para_email;
	}
	public String getComentarios() {
		return comentarios;
	}
	public void setComentarios(String comentarios) {
		this.comentarios = comentarios;
	}
	
	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
		
		ActionErrors errors = new ActionErrors() ;
			
		
		HttpSession session = request.getSession( ) ;
		String idioma = "";
		
	
		if (session.getAttribute("idioma") != null && session.getAttribute("idioma") != ""){
			idioma = session.getAttribute("idioma").toString();
	
		}
		
		
		if( de_email == null || de_email.trim( ).length( ) == 0 ) {
			if(idioma.equals("")){
				errors.add("mailDeVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.deEmail"));
			}
			if(idioma.equals("Eng")){
				errors.add("mailDeVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.deEmailEng"));
			}
			
			GetFormulario(request);
			
			return errors ;
		}
		
		if( para_email == null || para_email.trim( ).length( ) == 0 ) {
			if(idioma.equals("")){
				errors.add("mailParaVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.ParaEmail"));
			}
			if(idioma.equals("Eng")){
				errors.add("mailParaVacio", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.ParaEmailEng"));
			}
			
			GetFormulario(request);
			
			return errors ;
		}
		
		
		if( de_email != null && de_email.trim( ).length( ) != 0 ) {
			if(!generalUtil.validateEmail(getDe_email())){
				if(idioma.equals("")){
					errors.add("deEmailInvalido", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.deEmailInvalido"));
				}
				if(idioma.equals("Eng")){
					errors.add("deEmailInvalido", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.deEmailInvalidoEng"));
				}
				
				GetFormulario(request);
				
				return errors ;
			}
			
		}
		
		if( para_email != null && para_email.trim( ).length( ) != 0 ) {
			if(!generalUtil.validateEmail(getPara_email())){
				if(idioma.equals("")){
					errors.add("ParaEmailInvalido", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.ParaEmailInvalido"));
				}
				if(idioma.equals("Eng")){
					errors.add("ParaEmailInvalido", new ActionMessage("com.redpack.redpost.web.errors.modules.recomiendanos.ParaEmailInvalidoEng"));
				}
				
				GetFormulario(request);
				
				return errors ;
			}
			
		}
		
		
		return errors ;
		
	}
	
	public void GetFormulario(HttpServletRequest request){
		
		request.setAttribute("de_Nombre", ""+getDe_Nombre());
		request.setAttribute("de_email", ""+getDe_email());
		request.setAttribute("para_Nombre", ""+getPara_Nombre());
		request.setAttribute("para_email", ""+getPara_email());
		request.setAttribute("comentarios", ""+getComentarios());
	}

}
